perm filename NSF.84[W84,JMC]1 blob
sn#738383 filedate 1984-01-14 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 nsf.84[w84,jmc] 1984 NSF proposal for Basic Research in AI
C00006 ENDMK
Cā;
nsf.84[w84,jmc] 1984 NSF proposal for Basic Research in AI
Proposed Research
The idea of non-monotonic reasoning and the circumscription
approach to formalizing it seem to have wider applicability than
was previously envisioned. We plan to continue our previous
investigations of formalizing common sense knowledge. However,
our chief objective in the next three
years will be to explore these new possibilities. Here are some of them.
1. Neither the languages of mathematical logic nor present programming
languages have the power of natural language although both provide
necessary supplements to natural language in their domains. In
order to have fully intelligent computer programs, we need to understand
what is powerful about natural language and how to give this power
to programs. Naturally opinions differ about where this power comes
from. Some suppose it comes simply from the irregularity of natural
language, but irregularity per se does not give power.
Some suggestions have been made to use natural language as an
internal language for AI, but so far nothing has been done that
isn't equivalent to a subset of first order logic. Moreover, the
natural language front ends that have been developed just manage
to express in natural language what we already know how to express
in some kind of computerese. This has the problem backwards.
Rather natural language must teach us to express in a computer
things that we have not previously been able to represent at all.
Our work on non-monotonic reasoning has provided a clue to a part
of the greater expressive power of natural language.
1. Non-monotonic programming languages. With few and unimportant
exceptions present programming languages and their compilers are
monotonic in the following sense. Each construction in the source
language, except declarations, gives rise to code in the target
language. However, human descriptions of procedures often do not
have this character.